1. Field of the Invention
The present invention relates to a network control technique.
2. Description of the Related Art
As network control, the OpenFlow technique is attracting attention. A network which uses the OpenFlow technique includes a switch apparatus as a communication apparatus for processing a packet, and a controller which decides, when the switch apparatus receives a packet belonging to a new flow, a path for the flow, and notifies each communication apparatus on the decided path of the output interface of the packet to update a flow table. Note that the flow table indicates the correspondence between information for specifying a flow to which a packet belongs and the output interface of a packet belonging to the flow.
When the controller fails, the switch apparatus which is notified of the output interface by the controller cannot transfer a packet belonging to a new flow. To solve this problem, Japanese Patent Laid-Open No. 2011-160363 discloses an arrangement in which each of a plurality of controllers individually calculates a path for a flow, and notifies a switch apparatus on the path of the output interface of a packet belonging to a new flow. In a method described in Japanese Patent Laid Open No. 2011-160363, a switch apparatus may receive an instruction of an output interface from one or more controllers, but the switch apparatus transfers a packet according to the instruction received first.
In the method described in Japanese Patent Laid Open No. 2011-160363, since the switch apparatus receives an instruction to update a flow table from a plurality of controllers, the load of the switch apparatus temporarily becomes high. Furthermore, since each controller individually decides a path for a flow, unused flow information remains in a flow table in a switch apparatus on an unselected path.
Unlike Japanese Patent Laid Open No. 2011-160363, an arrangement in which a plurality of controllers are arranged and each switch apparatus is controlled by one of the controllers instead of the plurality of controllers is considered. In this case, when a given controller fails, it is necessary to quickly hand over the control of a switch apparatus controlled by the given controller to another controller. This poses problems about how to monitor a failure of a controller and how to decide a controller to which the control of a switch apparatus controlled by a controller that has failed is handed over.